TSTP Solution File: QUA001^1 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : QUA001^1 : TPTP v6.1.0. Released v4.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n107.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:29:02 EDT 2014

% Result   : Timeout 300.01s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : QUA001^1 : TPTP v6.1.0. Released v4.1.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n107.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 07:23:31 CDT 2014
% % CPUTime  : 300.01 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/QUA001^0.ax, trying next directory
% FOF formula (<kernel.Constant object at 0x1f74710>, <kernel.DependentProduct object at 0x1fcaab8>) of role type named emptyset_type
% Using role type
% Declaring emptyset:(fofType->Prop)
% FOF formula (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False)) of role definition named emptyset_def
% A new definition: (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False))
% Defined: emptyset:=(fun (X:fofType)=> False)
% FOF formula (<kernel.Constant object at 0x1fd1f38>, <kernel.DependentProduct object at 0x1f74e60>) of role type named union_type
% Using role type
% Declaring union:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))) of role definition named union_def
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))))
% Defined: union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))
% FOF formula (<kernel.Constant object at 0x1f74878>, <kernel.DependentProduct object at 0x1fcaab8>) of role type named singleton_type
% Using role type
% Declaring singleton:(fofType->(fofType->Prop))
% FOF formula (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))) of role definition named singleton_def
% A new definition: (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)))
% Defined: singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))
% FOF formula (<kernel.Constant object at 0x1f746c8>, <kernel.Single object at 0x1fca320>) of role type named zero_type
% Using role type
% Declaring zero:fofType
% FOF formula (<kernel.Constant object at 0x1f74b48>, <kernel.DependentProduct object at 0x1fca4d0>) of role type named sup_type
% Using role type
% Declaring sup:((fofType->Prop)->fofType)
% FOF formula (((eq fofType) (sup emptyset)) zero) of role axiom named sup_es
% A new axiom: (((eq fofType) (sup emptyset)) zero)
% FOF formula (forall (X:fofType), (((eq fofType) (sup (singleton X))) X)) of role axiom named sup_singleset
% A new axiom: (forall (X:fofType), (((eq fofType) (sup (singleton X))) X))
% FOF formula (<kernel.Constant object at 0x1fca440>, <kernel.DependentProduct object at 0x1fca4d0>) of role type named supset_type
% Using role type
% Declaring supset:(((fofType->Prop)->Prop)->(fofType->Prop))
% FOF formula (((eq (((fofType->Prop)->Prop)->(fofType->Prop))) supset) (fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (((eq fofType) (sup Y)) X)))))) of role definition named supset
% A new definition: (((eq (((fofType->Prop)->Prop)->(fofType->Prop))) supset) (fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (((eq fofType) (sup Y)) X))))))
% Defined: supset:=(fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (((eq fofType) (sup Y)) X)))))
% FOF formula (<kernel.Constant object at 0x1fca4d0>, <kernel.DependentProduct object at 0x1fca5a8>) of role type named unionset_type
% Using role type
% Declaring unionset:(((fofType->Prop)->Prop)->(fofType->Prop))
% FOF formula (((eq (((fofType->Prop)->Prop)->(fofType->Prop))) unionset) (fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (Y X)))))) of role definition named unionset
% A new definition: (((eq (((fofType->Prop)->Prop)->(fofType->Prop))) unionset) (fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (Y X))))))
% Defined: unionset:=(fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (Y X)))))
% FOF formula (forall (X:((fofType->Prop)->Prop)), (((eq fofType) (sup (supset X))) (sup (unionset X)))) of role axiom named sup_set
% A new axiom: (forall (X:((fofType->Prop)->Prop)), (((eq fofType) (sup (supset X))) (sup (unionset X))))
% FOF formula (<kernel.Constant object at 0x1fcaf80>, <kernel.DependentProduct object at 0x1fca6c8>) of role type named addition_type
% Using role type
% Declaring addition:(fofType->(fofType->fofType))
% FOF formula (((eq (fofType->(fofType->fofType))) addition) (fun (X:fofType) (Y:fofType)=> (sup ((union (singleton X)) (singleton Y))))) of role definition named addition_def
% A new definition: (((eq (fofType->(fofType->fofType))) addition) (fun (X:fofType) (Y:fofType)=> (sup ((union (singleton X)) (singleton Y)))))
% Defined: addition:=(fun (X:fofType) (Y:fofType)=> (sup ((union (singleton X)) (singleton Y))))
% FOF formula (<kernel.Constant object at 0x1a67c20>, <kernel.DependentProduct object at 0x1fcaf80>) of role type named order_type
% Using role type
% Declaring leq:(fofType->(fofType->Prop))
% FOF formula (forall (X1:fofType) (X2:fofType), ((iff ((leq X1) X2)) (((eq fofType) ((addition X1) X2)) X2))) of role axiom named order_def
% A new axiom: (forall (X1:fofType) (X2:fofType), ((iff ((leq X1) X2)) (((eq fofType) ((addition X1) X2)) X2)))
% FOF formula (<kernel.Constant object at 0x1fca3b0>, <kernel.DependentProduct object at 0x1fcaab8>) of role type named multiplication_type
% Using role type
% Declaring multiplication:(fofType->(fofType->fofType))
% FOF formula (<kernel.Constant object at 0x1fca1b8>, <kernel.DependentProduct object at 0x1fcaab8>) of role type named crossmult_type
% Using role type
% Declaring crossmult:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) crossmult) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (A:fofType)=> ((ex fofType) (fun (X1:fofType)=> ((ex fofType) (fun (Y1:fofType)=> ((and ((and (X X1)) (Y Y1))) (((eq fofType) A) ((multiplication X1) Y1))))))))) of role definition named crossmult_def
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) crossmult) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (A:fofType)=> ((ex fofType) (fun (X1:fofType)=> ((ex fofType) (fun (Y1:fofType)=> ((and ((and (X X1)) (Y Y1))) (((eq fofType) A) ((multiplication X1) Y1)))))))))
% Defined: crossmult:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (A:fofType)=> ((ex fofType) (fun (X1:fofType)=> ((ex fofType) (fun (Y1:fofType)=> ((and ((and (X X1)) (Y Y1))) (((eq fofType) A) ((multiplication X1) Y1))))))))
% FOF formula (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((eq fofType) ((multiplication (sup X)) (sup Y))) (sup ((crossmult X) Y)))) of role axiom named multiplication_def
% A new axiom: (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((eq fofType) ((multiplication (sup X)) (sup Y))) (sup ((crossmult X) Y))))
% FOF formula (<kernel.Constant object at 0x1f564d0>, <kernel.Single object at 0x1f56488>) of role type named one_type
% Using role type
% Declaring one:fofType
% FOF formula (forall (X:fofType), (((eq fofType) ((multiplication X) one)) X)) of role axiom named multiplication_neutral_right
% A new axiom: (forall (X:fofType), (((eq fofType) ((multiplication X) one)) X))
% FOF formula (forall (X:fofType), (((eq fofType) ((multiplication one) X)) X)) of role axiom named multiplication_neutral_left
% A new axiom: (forall (X:fofType), (((eq fofType) ((multiplication one) X)) X))
% FOF formula (forall (X1:fofType) (X2:fofType) (X3:fofType), (((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition X1) ((addition X2) X3)))) of role conjecture named addition_asso
% Conjecture to prove = (forall (X1:fofType) (X2:fofType) (X3:fofType), (((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition X1) ((addition X2) X3)))):Prop
% We need to prove ['(forall (X1:fofType) (X2:fofType) (X3:fofType), (((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition X1) ((addition X2) X3))))']
% Parameter fofType:Type.
% Definition emptyset:=(fun (X:fofType)=> False):(fofType->Prop).
% Definition union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Definition singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)):(fofType->(fofType->Prop)).
% Parameter zero:fofType.
% Parameter sup:((fofType->Prop)->fofType).
% Axiom sup_es:(((eq fofType) (sup emptyset)) zero).
% Axiom sup_singleset:(forall (X:fofType), (((eq fofType) (sup (singleton X))) X)).
% Definition supset:=(fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (((eq fofType) (sup Y)) X))))):(((fofType->Prop)->Prop)->(fofType->Prop)).
% Definition unionset:=(fun (F:((fofType->Prop)->Prop)) (X:fofType)=> ((ex (fofType->Prop)) (fun (Y:(fofType->Prop))=> ((and (F Y)) (Y X))))):(((fofType->Prop)->Prop)->(fofType->Prop)).
% Axiom sup_set:(forall (X:((fofType->Prop)->Prop)), (((eq fofType) (sup (supset X))) (sup (unionset X)))).
% Definition addition:=(fun (X:fofType) (Y:fofType)=> (sup ((union (singleton X)) (singleton Y)))):(fofType->(fofType->fofType)).
% Parameter leq:(fofType->(fofType->Prop)).
% Axiom order_def:(forall (X1:fofType) (X2:fofType), ((iff ((leq X1) X2)) (((eq fofType) ((addition X1) X2)) X2))).
% Parameter multiplication:(fofType->(fofType->fofType)).
% Definition crossmult:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (A:fofType)=> ((ex fofType) (fun (X1:fofType)=> ((ex fofType) (fun (Y1:fofType)=> ((and ((and (X X1)) (Y Y1))) (((eq fofType) A) ((multiplication X1) Y1)))))))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Axiom multiplication_def:(forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((eq fofType) ((multiplication (sup X)) (sup Y))) (sup ((crossmult X) Y)))).
% Parameter one:fofType.
% Axiom multiplication_neutral_right:(forall (X:fofType), (((eq fofType) ((multiplication X) one)) X)).
% Axiom multiplication_neutral_left:(forall (X:fofType), (((eq fofType) ((multiplication one) X)) X)).
% Trying to prove (forall (X1:fofType) (X2:fofType) (X3:fofType), (((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition X1) ((addition X2) X3))))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found x:(P ((addition ((addition X1) X2)) X3))
% Instantiate: b:=((addition ((addition X1) X2)) X3):fofType
% Found x as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found x:(P ((addition ((addition X1) X2)) X3))
% Instantiate: b:=((addition ((addition X1) X2)) X3):fofType
% Found x as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found x:(P0 b)
% Instantiate: b:=(sup ((union (singleton ((addition X1) X2))) (singleton X3))):fofType
% Found (fun (x:(P0 b))=> x) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (fun (P0:(fofType->Prop)) (x:(P0 b))=> x) as proof of ((P0 b)->(P0 ((addition ((addition X1) X2)) X3)))
% Found (fun (P0:(fofType->Prop)) (x:(P0 b))=> x) as proof of (P b)
% Found x:(P ((addition ((addition X1) X2)) X3))
% Instantiate: a:=((union (singleton ((addition X1) X2))) (singleton X3)):(fofType->Prop)
% Found x as proof of (P0 (sup a))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found x:(P ((addition X1) ((addition X2) X3)))
% Instantiate: b:=((addition X1) ((addition X2) X3)):fofType
% Found x as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P0 b))):((P0 b)->(P0 b))
% Found (sup_es (fun (x:fofType)=> (P0 b))) as proof of ((P0 b)->(P0 ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P0 b))) as proof of ((P0 b)->(P0 ((addition ((addition X1) X2)) X3)))
% Found (fun (P0:(fofType->Prop))=> (sup_es (fun (x:fofType)=> (P0 b)))) as proof of ((P0 b)->(P0 ((addition ((addition X1) X2)) X3)))
% Found (fun (P0:(fofType->Prop))=> (sup_es (fun (x:fofType)=> (P0 b)))) as proof of (P b)
% Found x:(P ((addition ((addition X1) X2)) X3))
% Instantiate: a:=((union (singleton ((addition X1) X2))) (singleton X3)):(fofType->Prop)
% Found x as proof of (P0 (sup a))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton ((addition X2) X3))))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found x:(P ((addition X1) ((addition X2) X3)))
% Instantiate: b:=((addition X1) ((addition X2) X3)):fofType
% Found x as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion_dep00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X2)) (singleton X3)))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b0)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P b))):((P b)->(P b))
% Found (sup_es (fun (x:fofType)=> (P b))) as proof of (P0 b)
% Found (sup_es (fun (x:fofType)=> (P b))) as proof of (P0 b)
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))):((P ((addition X1) ((addition X2) X3)))->(P ((addition X1) ((addition X2) X3))))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found x:(P ((addition X1) ((addition X2) X3)))
% Instantiate: a:=((union (singleton X1)) (singleton ((addition X2) X3))):(fofType->Prop)
% Found x as proof of (P0 (sup a))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P b))):((P b)->(P b))
% Found (sup_es (fun (x:fofType)=> (P b))) as proof of (P0 b)
% Found (sup_es (fun (x:fofType)=> (P b))) as proof of (P0 b)
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))):((P ((addition X1) ((addition X2) X3)))->(P ((addition X1) ((addition X2) X3))))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found x:(P ((addition X1) ((addition X2) X3)))
% Instantiate: a:=((union (singleton X1)) (singleton ((addition X2) X3))):(fofType->Prop)
% Found x as proof of (P0 (sup a))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton ((addition X1) X2))) (singleton X3)))
% Found eq_ref00:=(eq_ref0 a):(((eq (fofType->Prop)) a) a)
% Found (eq_ref0 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found ((eq_ref (fofType->Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found ((eq_ref (fofType->Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found ((eq_ref (fofType->Prop)) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))):((P ((addition ((addition X1) X2)) X3))->(P ((addition ((addition X1) X2)) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found (sup_es (fun (x:fofType)=> (P ((addition ((addition X1) X2)) X3)))) as proof of (P0 ((addition ((addition X1) X2)) X3))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))):((P ((addition X1) ((addition X2) X3)))->(P ((addition X1) ((addition X2) X3))))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (fofType->Prop)) a) (fun (x:fofType)=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found ((eta_expansion0 Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found (((eta_expansion fofType) Prop) a) as proof of (((eq (fofType->Prop)) a) ((union (singleton X1)) (singleton X2)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found sup_es0:=(sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))):((P ((addition X1) ((addition X2) X3)))->(P ((addition X1) ((addition X2) X3))))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found (sup_es (fun (x:fofType)=> (P ((addition X1) ((addition X2) X3))))) as proof of (P0 ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found eq_ref00:=(eq_ref0 ((addition ((addition X1) X2)) X3)):(((eq fofType) ((addition ((addition X1) X2)) X3)) ((addition ((addition X1) X2)) X3))
% Found (eq_ref0 ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found ((eq_ref fofType) ((addition ((addition X1) X2)) X3)) as proof of (((eq fofType) ((addition ((addition X1) X2)) X3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b0)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) ((addition ((addition X1) X2)) X3))
% Found eq_ref00:=(eq_ref0 ((addition X1) ((addition X2) X3))):(((eq fofType) ((addition X1) ((addition X2) X3))) ((addition X1) ((addition X2) X3)))
% Found (eq_ref0 ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found ((eq_ref fofType) ((addition X1) ((addition X2) X3))) as proof of (((eq fofType) ((addition X1) ((addition X2) X3))) b)
% Found eq_ref00:=(eq_ref0 b0):(((eq fofType) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found ((eq_ref fofType) b0) as proof of (((eq fofType) b0) ((addition X1) ((addition X2) X3)))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) b0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) b0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) b0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) b0)
% Found x:(P ((addition X1) ((addition X2) X3)))
% Instantiate: b:=((addition X1) ((addition X2) X3)):fofType
% Found x as proof of (P0 b)
% Found multiplication_neutral_right0:=(multiplication_neutral_right ((addition ((addition X1) X2)) X3)):(((eq fofType) ((multiplication ((addition ((addition X1) X2)) X3)) one)) ((addition ((addition X1) X2)) X3))
% Instantiate: b:=((addition ((addition X1) X2)) X3):fofType
% Found multiplication_neutral_right0 as proof of (((eq fofType) ((multiplication ((addition ((addition X1) X2)) X3)) one)) b)
% Found multiplication_neutral_left0:=(multiplication_neutral_left ((addition ((addition X1) X2)) X3)):(((eq fofType) ((multiplication one) ((addition ((addition X1) X2)) X3))) ((addition ((addition X1) X2)) X3))
% Instantiate: b:=((addition ((addition X1) X2)) X3):fofType
% Found multiplication_neutral_left0 as proof of (((eq fofType) ((multiplication one) ((addition ((addition X1) X2)) X3))) b)
% Found x:(P ((addition X1) ((addition X
% EOF
%------------------------------------------------------------------------------